from .base_item import Item


class DragonSword(Item):
    def __init__(self):
        super().__init__(
            name="Dragon Sword",
            description="A legendary sword forged from dragon scales",
            rarity="legendary"
        )
        self._attack_bonus = 25
        self._speed_bonus = 5
    
    def get_item_type(self) -> str:
        return "weapon"
    
    def get_special_ability(self) -> str:
        return "Dragon's Fury: 10% chance to deal double damage"


class TigerClaw(Item):
    def __init__(self):
        super().__init__(
            name="Tiger Claw",
            description="Razor-sharp claws from a mystical tiger",
            rarity="rare"
        )
        self._attack_bonus = 18
        self._speed_bonus = 8
    
    def get_item_type(self) -> str:
        return "weapon"
    
    def get_special_ability(self) -> str:
        return "Tiger's Swiftness: +15% critical hit chance"
class PhoenixBow(Item):
    
    def __init__(self):
        super().__init__(
            name="Phoenix Bow",
            description="A bow blessed by phoenix fire",
            rarity="epic"
        )
        self._attack_bonus = 20
        self._mana_bonus = 15
    
    def get_item_type(self) -> str:
        return "weapon"
    
    def get_special_ability(self) -> str:
        return "Phoenix Fire: Attacks have 20% chance to burn target"
class ThunderHammer(Item):
    def __init__(self):
        super().__init__(
            name="Thunder Hammer",
            description="A massive hammer crackling with electricity",
            rarity="rare"
        )
        self._attack_bonus = 22
        self._health_bonus = 10
    
    def get_item_type(self) -> str:
        return "weapon"
    
    def get_special_ability(self) -> str:
        return "Thunder Strike: 15% chance to stun target"


class IceBlade(Item):
    def __init__(self):
        super().__init__(
            name="Ice Blade",
            description="A sword forged from eternal ice",
            rarity="uncommon"
        )
        self._attack_bonus = 12
        self._defense_bonus = 3
    
    def get_item_type(self) -> str:
        return "weapon"
    
    def get_special_ability(self) -> str:
        return "Ice Chill: 25% chance to slow target"